//
//  ArrayDataSource.h
//  27-ArrayDataSource
//
//  Created by 鹏飞罗 on 16/8/19.
//  Copyright © 2016年 罗鹏飞. All rights reserved.
//

#import <Foundation/Foundation.h>
#import <UIKit/UIKit.h>
NS_ASSUME_NONNULL_BEGIN
// 重定义， Block
// 无返回值
// 参数1： 自定义Cell/ 系统Cell
// 参数2： Model类
typedef void(^ __nonnull ConfigCell) (__kindof UITableViewCell *cell, id model);
// 该类需要签订， UITableViewDataSource
@interface ArrayDataSource : NSObject <UITableViewDataSource>
// 数据源的初始化方法
  // 参数1： 重用池标识， 给协议方法使用
// 参数2： 数组， 数据源---Model
// 参数3： 处理Cell的Block -- CallBack回调
- (instancetype) initWithTableViewCellReuse:(NSString *)reuse arrayDataSource:(NSArray *)array configCell:(ConfigCell)configCell;
// 数据源的构造器方法
+ (ArrayDataSource *)arrayDataSourceWithTableViewCellReuse:(NSString *)reuse arrayDataSource:(NSArray *)array configCell:(ConfigCell)configCell;
@end
NS_ASSUME_NONNULL_END
